extends Control  # 继承自Control类，适用于UI元素

# 预加载开始菜单场景，以便在需要时切换到开始菜单
var start_menu_scene = preload("res://start_menu.tscn")

# 当节点第一次进入场景树时调用此函数（菜单显示时）
func _ready():
	# 连接按钮的pressed信号到对应的处理函数
	# $符号用于访问子节点，这里访问的是VBoxContainer节点下的三个按钮
	# pressed.connect()表示当按钮被按下时，调用指定的函数
	$VBoxContainer/back_to_game.pressed.connect(_on_continue_button_pressed)
	$VBoxContainer/back_to_menu.pressed.connect(_on_main_menu_button_pressed)
	$VBoxContainer/quit_game.pressed.connect(_on_quit_button_pressed)

# 当"返回游戏"按钮被按下时调用此函数
func _on_continue_button_pressed():
	# 取消游戏暂停状态
	get_tree().paused = false
	
	# 删除暂停菜单（自己）
	# queue_free()会在下一帧删除节点
	queue_free()

# 当"返回菜单"按钮被按下时调用此函数
func _on_main_menu_button_pressed():
	# 取消游戏暂停状态
	get_tree().paused = false
	
	# 切换到开始菜单场景
	# change_scene_to_file()会释放当前场景并加载指定的新场景
	get_tree().change_scene_to_file("res://start_menu.tscn")

# 当"退出游戏"按钮被按下时调用此函数
func _on_quit_button_pressed():
	# 退出游戏
	# quit()会关闭游戏程序
	get_tree().quit()
